
interface WidgetItem {
  id: string;
  type: string;
}

export interface Designer {
  // 终端类型
  terminalType: string;
  formItemConfig: any;
  globalConfig: {
    labelStyle?: object;
    layoutType?: string;
    cssCode?: string;
    labelWidth?: string | number;
    labelCol?: object;
    wrapperCol?: object;
  },
  selectedId?: string;
  selectedWidget?: any;
  widgetList: WidgetItem[];
  
  changeTerminalType: Function;
  clearDesigner: Function;
  emitHistoryChange: Function;
  setSelected: Function;
  clearSelected: Function;
  hasWidgetConfig: Function;
  hasFormConfig: Function;
  copyNewFieldWidget: Function;
  // 加载json数据
  loadJson: Function;
  // 生成导出的json数据
  genExportJson: Function;
}

type stepStatus = 'wait' | 'process'
export interface StepItem {
  title: string;
  // 插槽名必须为这个
  key: string;
  status: stepStatus;
}